package com.example.sandbox.controller.order.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Digits;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 * @Author Lierbao
 * @Date 2024/6/14 11:52
 */

@Data
@ApiModel("巴西代付请求")
public class Brazil58TransferOrderRequest extends DownStream58AbstractMchAppRQ {

    @NotBlank(message = "clientRequestId number cannot be empty") // 商户订单号 不能为空
    @Size(min = 1, max = 35, message = "The length of the clientRequestId number is 1-35")
    @ApiModelProperty("商户订单号")
    private String clientRequestId;

    @NotBlank(message = "The payment amount cannot be empty") // 支付金额 不能为空
    @Min(value = 0, message = "Minimum amount 0") // 金额最小0
    @Digits(integer = 10, fraction = 2,
            message = "The upper limit of integers is 10 digits, and the upper limit of decimals is 2 digits")
    @ApiModelProperty("支付金额")
    private String amount;

    @NotBlank(message = "The receiving account cannot be empty") // 商品标题 不能为空
    @ApiModelProperty("收款账号 巴西 pixKey")
    private String accountNo;

    @ApiModelProperty("转账备注信息")
    private String remittanceInformation;

    @ApiModelProperty("异步通知地址 支付结果异步回调URL,只有传了该值才会发起回调")
    private String notifyUrl;

    @ApiModelProperty("出款类型")
    private String accountType;

    @ApiModelProperty("身份证号/税号")
    private String taxId;

}
